<template>
  <router-view></router-view>
</template>
<script>
import { isProduction } from "./utils/utils";
import wx from "weixin-js-sdk";
import $ from "jquery";

export default {
  components: {},
  data() {
    return {};
  },
  computed: {
    type() {
      return this.$store.state.type;
    },
    loading() {
      return this.$store.state.indicator;
    },
  },
  watch: {
    type(val, oldVal) {
      if (val !== oldVal) {
        if (val === 1) {
          this.$router.push("/user/");
        } else if (val === 0) {
          this.$router.push("/beautician/");
        }
      }
    },
    loading(val, oldVal) {
      if (val) {
        this.$dialog.loading.open("很快加载好了");
      } else {
        this.$dialog.loading.close();
      }
    },
  },
  methods: {
    initApp({ uid, name, phone, type, imgurl }) {
      this.$store.dispatch("INIT_APP", {
        uid,
        name,
        phone,
        type,
        imgurl,
      });
      if (type == 0) {
        this.$router.replace("/beautician/");
      }
    },
    init() {
      if (isProduction()) {
        this.initApp(window.g);
      } else {
        this.initApp({
          uid: "123",
          name: "用户1",
          phone: "18888888888",
          type: 0,
        });
      }
    },
  },
  created() {
    if (process.env.NODE_ENV === "development") {
      this.$router.push("/beautician/");
      this.init();
      return;
    }

    let wxConf = {};
    $.ajax({
      url: g.ctx + "/common/jsSign",
      type: "post",
      data: {
        url: window.location.href.replace(/#\[\S\s]+$/, ""),
      },
      success: data => {
        wxConf.appId = data.appId;
        wxConf.timestamp = data.timestamp;
        wxConf.nonceStr = data.nonceStr;
        wxConf.signature = data.signature;
        wx.config({
          debug: !isProduction(), // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
          ...wxConf,
          jsApiList: ["scanQRCode"], // 必填，需要使用的JS接口列表
        });
      },
      error: () => {
        this.$router.push("/beautician/");
        this.init();
      },
    });
    wx.ready(() => {
      // config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作，所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口，则可以直接调用，不需要放在ready函数中。
      this.init();
    });
  },
};
</script>
<style>
</style>

